python路径、工作路径、文件路径问题、改变当前路径 | 您所在的位置:网站首页 › python 工程目录 › python路径、工作路径、文件路径问题、改变当前路径 |
最近又遇到之前积累下的python路径问题,于是花了好大功夫才理清这些路径之前的关系,以及如何使用。 1.抛出问题 由此,我们可见在执行脚本程序时,编译器所在的路径决定了CWD(当前工作路径),我们不能直接像Fig.1/2一样无脑地直接读取png图像了。**那这样有人就说,那我每次把脚本的编译器选在同一个地方不就好了么?像Fig.2这样的情况。**通常,当我们不需要conda管理packages时,我们创建环境直接用python虚拟环境下自带的编译器python.exe,如Fig.3.所示,此时CWD是我们需要的;实际上,我们在运行程序时,需要用到conda控制环境,在不同的环境下搭不同版本的packages方便我们管理,因此在用conda的情况下,编译器默认路径自动切换到xxx\anaconda\envs"your envs"\python.exe,如Fig.4.所示,于是就导致获得CWD不是我们所需要的。 2.基本概念 import os #1获得当前路径,cwd=current working directory os.getcwd() #2获得绝对路径 os.path.abspath() #3获得当前路径的上级目录路径 os.path.dirname() #4组合使用,获得当前**文件路径** os.path.abspath(os.path.dirname(__file__)) #5组合使用,获得当前**工作路径** os.path.abspath(os.getcwd()) #6**改变当前工作目录到指定路径** os.chdir()3.利用os.chdir()解决1.的情况 4.提议 建议大家平常养成习惯,尽可能减少在比较大的工程中使用’.’, ‘./’, './/'这些返回符号,尽可能还是使用绝对路径控制,具体案例可参考参考文献1中的案例。 5参考文献: [1]:python慎用os.getcwd() ,除非你知道【文件路径与当前工作路径的区别】https://www.cnblogs.com/liangmingshen/p/12794631.html [2]:Python3 os.chdir() 方法https://www.runoob.com/python3/python3-os-chdir.html [3]:python相对路径文件无法读取,更改工作路径https://blog.csdn.net/lovely__RR/article/details/108000037 |
CopyRight 2018-2019 实验室设备网 版权所有 |